package cn.edu.ujn.controller;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.jsp.JspException;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import cn.edu.ujn.dao.BaseDict;
import cn.edu.ujn.dao.QueryPo;
import cn.edu.ujn.service.IBaseDictService;
import cn.edu.ujn.utils.Page;

@Controller
  @RequestMapping("/dict")
public class BaseDictController {
	@Autowired
	private IBaseDictService baseDictService;
	@RequestMapping("/list.action")
	public String queryDictBaseList(QueryPo queryPo,Model model) {
	  
		List<BaseDict> list = baseDictService.queryBaseDictGetTypeCode();
		ArrayList<BaseDict> typeCode=new ArrayList<BaseDict>();
		model.addAttribute("fromType",list);
		model.addAttribute("dictType",list);
		model.addAttribute("itemType",list);
		
		Page<BaseDict> page = baseDictService.queryBaseDictByQueryPo(queryPo);
		model.addAttribute("page",page);
		
		model.addAttribute("dictId",queryPo.getDictId());
		model.addAttribute("dictTypeCode",queryPo.getDictTypeCode());
		model.addAttribute("dictTypeName",queryPo.getDictTypeName());
		model.addAttribute("dictItemName",queryPo.getDictItemName());
		return "dict";
	}

	// 判断创建dict_id是否存在
	@RequestMapping("/isExistByDictId.action")
	@ResponseBody // 这里将返回值转为json格式的数据,让jsp前端通过调用
	public String isExistByDictId(String dict_id) {
		if(dict_id==null||"".equals(dict_id)) return "empty";
		BaseDict exist = baseDictService.getDictById(dict_id);
		if (exist== null) {
			return "OK";
		} else {
			return "already exist";
		}

	}

	// 创建字典
	@RequestMapping("/create.action")
	@ResponseBody // 这里将返回值转为json格式的数据,让jsp前端通过调用
	public String creatBaseDict(BaseDict baseDict) {
		// 先看一下是否存在
		System.out.println(baseDict);
		// 创建客户
		int creat = baseDictService.creatBaseDict(baseDict);
		if (creat > 0) { // 创建成功
			return "OK";// 必须返回OK,成功后jsp页面对data中数据做OK判断
		} else {
			return "FAIL";
		}

	}

	// 得到id字典的信息
	@RequestMapping("/getDictById.action")
	@ResponseBody // 这里将返回值转为json格式的数据,让jsp前端通过调用
	public BaseDict getDictById(String id) {
		return baseDictService.getDictById(id);
	}

	// 更改字典
	@RequestMapping("/update.action")
	@ResponseBody // 这里将返回值转为json格式的数据,让jsp前端通过调用
	public String updateBaseDict(BaseDict baseDict) {
		int update = baseDictService.updateBaseDict(baseDict);
		if (update > 0) { // 更新成功
			return "OK";// 必须返回OK,成功后jsp页面对data中数据做OK判断
		} else {
			return "FAIL";
		}
	}

	// 删除字典，将enable标志位设置为0
	@RequestMapping("/delete.action")
	@ResponseBody // 这里将String 为json格式的数据,让jsp前端通过调用
	public String dictDelete(String id) {
		int rows = baseDictService.deleteDict(id);
		if (rows > 0) { // 删除成功
			return "OK";// 必须返回OK,成功后jsp页面对data中数据做OK判断
		} else {
			return "FAIL";
		}
	}
}
